import Vue from 'vue'

import 'normalize.css/normalize.css' // css初始化的样式文件

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import locale from 'element-ui/lib/locale/lang/en' //  element-ui的英文包
import '@/styles/index.scss' // 全局样式文件
import App from './App'
import store from './store'
import router from './router'
import '@/icons' //  图标
import '@/permission' // 路由的导航守卫
import Print from 'vue-print-nb'
Vue.use(Print)
import MyUI from '@/components/index'
Vue.use(MyUI)
import i18n from '@/Lang'
// import '@/directives' // 直接导入并执行注册所有指令
/*
按需注册指令
import { red, imgerror } from '@/directives'
Vue.directive('red', red)
Vue.directive('imgerror', imgerror) */
// directives文件中按需导出的各个对象,要全部批量注册
import * as allDirectives from '@/directives' // 将directives/js文件中所有的按需导出全部接收
// console.log(allDirectives) // 所有的指令配置对象 被收集到了一个对象中
for (const k in allDirectives) {
  // console.log(k) // 指令名
  // console.log(allDirectives[k]) // 指令的配置对象
  Vue.directive(k, allDirectives[k])
}

Vue.use(ElementUI, {
  i18n: (key, value) => i18n.t(key, value)
})
Vue.config.productionTip = false

new Vue({
  el: '#app',
  router,
  store,
  i18n,
  render: h => h(App)
})
